package com.ruoyi.rsikManage.mapper;

import com.ruoyi.rsikManage.domain.*;
import com.ruoyi.rsikManage.domain.vo.AlarmsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author wxx
 * @description
 * @date 2023/9/7 16:49

 */
@Mapper
public interface StatisticalAnalysisMapper {



    List<AlarmEvent> selectAlarmAlgoName();

    List<AlarmEvent> selectAlarmAlgoNameGroup(AlarmEventRequest alarmEventRequest);


    List<AlarmEvent> selectAlarmOrgName();

    List<AlarmEvent> selectAlarmApeName(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAllAlarmInfo(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAllAlarmInfoV2(AlarmEventRequest alarmEventRequest);
    //查询最新的AI报警
    AlarmEvent selectAIAlarmLast(AlarmEventRequest alarmEventRequest);

    List<AlarmsVo> selectAlarms(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAllAlarmInfoV2ForUnitCodes(AlarmEventRequest alarmEventRequest);


    List<AlarmEvent> selectAllAlarmInfo2(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAllAlarmInfoBase64(AlarmEventRequest alarmEventRequest);


    int updateAlarmInfo(AlarmEvent alarmEvent);

    int batchUpdateAlarmInfo(@Param("list") List<AlarmEvent> alarmEvents);


    int updateAlarmInfoByTime(AlarmEvent alarmEvent);

    int updateAlarmInfoByTimeV2(AlarmEvent alarmEvent);



    List<ReportApproval> selectAllAlarmFilterList(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAllAlarmById(AlarmEventRequest alarmEventRequest);

    List<AlarmEvent> selectAlarmIndex(AlarmEventRequest alarmEventRequest);

    List<MonitorPoint> selectMonitorPointCount(AlarmEventRequest alarmEventRequest);

    List<MonitorPoint> selectMonitorPointCountForUnitCodes(AlarmEventRequest alarmEventRequest);


    List<String> mnlist(String MtName);


}
